package com.chinairi.mall.model;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 菜单管理表
 * </p>
 *
 * @author 李昌赐
 * @since 2020-10-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("SYS_MENU")
public class SysMenu implements Serializable {

    private static final long serialVersionUID = -4083393829008683383L;

    /**
     * 主键id
     */
    @TableId("MENU_ID")
    private String menuId;

    /**
     * 应用ID
     */
    @TableField("APP_ID")
    private String appId;

    /**
     * 显示名称
     */
    @TableField("MENU_NAME")
    private String menuName;

    /**
     * 可用/禁用
     */
    @TableField("ACTIVE")
    private String active;

    /**
     * 上级ID
     */
    @TableField("SUP_MENU_ID")
    private String supMenuId;

    /**
     * 序号
     */
    @TableField("MENU_SEQ")
    private BigDecimal menuSeq;

    /**
     * 图标样式
     */
    @TableField("MENU_ICON")
    private String menuIcon;

    /**
     * 模块类型（1：目录2：模块3：按钮）
     */
    @TableField("MENU_TYPE")
    private String menuType;

    /**
     * 链接
     */
    @TableField("MENU_LINK")
    private String menuLink;

    /**
     * 路由地址
     */
    @TableField("ROUTING_ADDRESS")
    private String routingAddress;

    /**
     * 权限标识
     */
    @TableField("PERMISSION_IDENT")
    private String permissionIdent;

    /**
     * 适用设备（1：PC  2:MOBILE)
     */
    @TableField("APPLY_DEVICE")
    private String applyDevice;

    /**
     * 菜单状态（1：显示 2：隐藏）
     */
    @TableField("MENU_STATUS")
    private String menuStatus;

    /**
     * 横向纵向
     */
    @TableField("HOR_AND_VER")
    private String horAndVer;

    /**
     * 创建人
     */
    @TableField("CREATE_USER")
    private String createUser;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @TableField("UPDATE_USER")
    private String updateUser;

    /**
     * 修改时间
     */
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    /**
     * 审核人
     */
    @TableField("APPROVE_USER")
    private String approveUser;

    /**
     * 审核时间
     */
    @TableField("APPROVE_TIME")
    private LocalDateTime approveTime;

    /**
     * 审核状态
     */
    @TableField("APPROVE_STATUS")
    private String approveStatus;

    /**
     * 机构代码
     */
    @TableField("ORG_CODE")
    private String orgCode;

    /**
     * 树结构子集
     */
    @TableField(exist = false)
    private List<SysMenu> children;


}
